iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0
Odoo

前後端整合學習,不只是後端管理系列 第 7

【Day7】快速查詢開發需要的對應名稱

  • 分享至 

  • xImage
  •  

我們可以利用 Odoo 後台便捷的查詢功能,快速了解 Odoo 從選單 (menu) 點選、呼叫 Window Action、開啟畫面 (view) 與模組程式之間的對應關係。透過後台的開發者模式(Debug Mode)進行查詢,可以節省大量時間。以下以 repair 模組為例進行說明:

我們可以在github看到repair模組的檔案:
https://ithelp.ithome.com.tw/upload/images/20240915/20165487xhRQ7XIF3q.png

進入repair_views.xml,這是odoo在撰寫畫面控制與顯示的資訊,通常在最下面是放選單的資訊
https://ithelp.ithome.com.tw/upload/images/20240915/201654872jSjVVs3D0.png

對應在odoo的後台系統查詢,當我們切換至debug mode(參考前篇說明),可以進入選單的控制畫面,搜尋order選單可以查詢到對應的資訊:
https://ithelp.ithome.com.tw/upload/images/20240915/20165487KcrHgAfto7.png

https://ithelp.ithome.com.tw/upload/images/20240915/20165487TCcPu626gU.png

在畫面中,可以看到選單呼叫的action,對應repair_views.xml則是:
https://ithelp.ithome.com.tw/upload/images/20240915/20165487Fen2pLZyJ0.png

也可以直接從後台的repair order畫面,點選上方bug圖示,直接查詢對應的action,不必從menu開始找,可以依照方便的方式查詢:
https://ithelp.ithome.com.tw/upload/images/20240915/201654878uQGiySSVw.png

開發者模式的選單可以直接查詢該畫面的view:
https://ithelp.ithome.com.tw/upload/images/20240915/20165487Fjf6N4UCl6.png

開啟後可以看到對應的資訊,如名稱、類型、畫面繼承的關係,以更直覺的方式了解odoo的架構:
https://ithelp.ithome.com.tw/upload/images/20240915/201654876tZjQshnIH.png

透過比對的方式,可以幫助我們了解odoo的控制方式:
https://ithelp.ithome.com.tw/upload/images/20240915/20165487o6NLhkloYA.png

還有許多控制項目,例如:Search View、篩選的 Context 以及權限資料的控制。由於 Odoo 的架構,在模組安裝時,相關的 XML 已經存入資料庫,執行程式時也是從資料庫中渲染畫面,而不是讀取原始檔案。因此,透過直接在 Odoo 後台中修改和測試,可以更快掌握語法的效果。

備註:如上述所提,如果撰寫的繼承模組中修改了畫面 (XML) 的內容,模組需要執行更新,才能將畫面資訊同步更新至資料庫;但如果修改的是 Python 程式,則只需重啟 Odoo 即可。

既然我們可以透過後台快速查詢 Window Action 或 View,在開啟的資訊中,我們同時可以獲取到對應的 model 名稱。此時,我們可以在「設定」中查詢該 model,並檢視資料表的欄位資訊。
https://ithelp.ithome.com.tw/upload/images/20240915/20165487EBLPTqzhdH.png

對照著github中的repair.py
https://ithelp.ithome.com.tw/upload/images/20240915/20165487pu6JVfpB4Z.png

透過上述方式,我們可以快速了解 Odoo 的檔案結構以及其中的撰寫方式,這樣在進行二次開發時,就能夠快速分析並掌握所需介入的資訊,不至於像大海撈針般無從下手。以上是一個簡單的示範說明,供參考。其餘更多的對應關係可以透過後台自行查詢和探索。Odoo 的後台實際上就扮演著功能查詢的角色,不再需要為沒有說明書或規格書而煩惱!


上一篇
【Day6】UML工具介紹
下一篇
【Day8】odoo 撰寫第一個api - 理解RESTful
系列文
前後端整合學習,不只是後端管理20
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言